package com.sa.token.config;

import cn.dev33.satoken.interceptor.SaRouteInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @desc：
 * @author： xhs
 * @date： 2021/8/19 13:26
 * @version： JDK 1.8
 */
@Configuration
public class SaTokenConfigure implements WebMvcConfigurer {

    /**
     * 注册拦截器
     *
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 注册Sa-Token的路由拦截器，并排除登录接口或其他可匿名访问的接口地址 (与注解拦截器无关)
        registry.addInterceptor(new SaRouteInterceptor()).addPathPatterns("/**")
                // 排除注册登录接口不需要鉴权
                .excludePathPatterns("/register")
                .excludePathPatterns("/login");
    }

//    /**
//     * 注册Sa-Token的注解拦截器，打开注解式鉴权功能
//     *
//     * @param registry
//     */
//    @Override
//    public void addInterceptors(InterceptorRegistry registry) {
//        // 注册注解拦截器，并排除不需要注解鉴权的接口地址 (与登录拦截器无关)
//        registry.addInterceptor(new SaAnnotationInterceptor()).addPathPatterns("/**")
//                // 排除注册登录接口不需要鉴权
//                .excludePathPatterns("/register")
//                .excludePathPatterns("/login");
//    }
}
